package com.power.sifa.approve.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.approve.model.Apl_decision_record;
import com.power.sifa.approve.model.pageInfo.Apl_decision_recordPageInfo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  干预行政复议活动记录 Feign
 */
public interface IApl_decision_recordFeign {

    /**
     * 干预行政复议活动记录分页列表
     */
    @PostMapping("/apl_decision_record/list")
    ResponseDTO list(@RequestBody Apl_decision_recordPageInfo apl_decision_recordPageInfo);

    /**
    * 查看干预行政复议活动记录
    */
    @GetMapping("/apl_decision_record/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除干预行政复议活动记录
    */
    @PostMapping("/apl_decision_record/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看干预行政复议活动记录 复合主键使用
    // */
    //@PostMapping("/apl_decision_record/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Apl_decision_record.Apl_decision_recordPK pk);

    /**
     * 修改或保存干预行政复议活动记录
     */
    @PostMapping("/apl_decision_record/save")
    ResponseDTO save(@RequestBody Apl_decision_record apl_decision_record);

    ///**
    // * 删除干预行政复议活动记录 复合主键使用
    // */
    //@PostMapping("/apl_decision_record/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Apl_decision_record.Apl_decision_recordPK pk);
    
    /**
     * 批量删除干预行政复议活动记录
     */
    @PostMapping("/apl_decision_record/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/apl_decision_record/output")
    void output(HttpServletResponse response, @RequestBody Apl_decision_recordPageInfo apl_decision_recordPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/apl_decision_record/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/apl_decision_record/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException;


    /**
     * 主办人 查询还未决定的记录
     * @param faapplyid 父节点的applyid
     * @return
     * @throws IOException
     */
    @PostMapping("/apl_decision_record/getNoDecisionRecords")
    ResponseDTO getNoDecisionRecords(@RequestParam("faapplyid") String faapplyid);


    /**
     * 主办人 查询已决定的记录
     * @param faapplyid
     * @param applyid
     * @return
     */
    @PostMapping("/apl_decision_record/getNoDecisionMainRecords")
    ResponseDTO getNoDecisionMainRecords(String faapplyid, String applyid);

    /**
     * 协办人 查询还未决定的记录
     * @param faapplyid 父节点的applyid
     * @return
     * @throws IOException
     */
    @PostMapping("/apl_decision_record/getNoDecisionSubRecords")
    ResponseDTO getNoDecisionSubRecords(@RequestParam("faapplyid") String faapplyid, @RequestParam("applyid") String applyid);


    /**
     * 获取案件的基本信息
     * @param faapplyid 父applyid
     * @return
     */
    @PostMapping("/apl_decision_record/getCaseMainInfo")
    ResponseDTO getCaseMainInfo(@RequestParam("faapplyid") String faapplyid);

}
